# 单进程执行任务 1- coding, 再执行任务 2- music
# 1 定义写代码函数 coding
# 2 定义听音乐函数 music

import time
import multiprocessing


def coding():
    for i in range(10):
        print(f'第{i}行代码')
        time.sleep(0.2)


def music():
    for i in range(10):
        print(f'第{i}首音乐')
        time.sleep(0.2)


if __name__ == '__main__':
    # 注意: 多进程的代码必须要写到 "if __name__ == '__main__'"中!!!

    # 1 创建进程对象
    t1 = time.time()
    p1 = multiprocessing.Process(target=coding, name='p1')
    p2 = multiprocessing.Process(target=music, name='p2')

    # 2 启动子进程
    p1.start()
    p2.start()

    # 2-2 设置让主进程等待子进程完成任务后,在向下运行
    p1.join()  # 让主进程等待p1完成任务 在向下运行;相当于有把主进程给阻塞
    p2.join()  # 让主进程等待p2完成任务 在向下运行;相当于有把主进程给阻塞

    # 3 计算时间
    t2 = time.time()
    print(f'用时{t2 - t1}')
